import React, { useEffect, useState } from 'react'

// !研究：清理函数的执行时机
// !下一次副作用处理函数调用时或组件卸载的时候
export default function Test() {
  const [count, setCount] = useState(0)
  /* // useEffect 的第二个参数不写：副作用处理函数执行的会触发（但是不包括初始化）
  // useEffect 的第二个参数写了依赖项：副作用处理函数执行的会触发（但是不包括初始化）
  // useEffect 的第二个参数写了空数组：副作用处理函数执行的会触发（但是不包括初始化） */

  useEffect(() => {
    // 副作用处理函数 / useEffect 回调
    console.log('副作用处理函数')
    return () => {
      // 清理函数：清理副作用（清除定时器、解绑事件）
      console.log('清理函数')
    }
  }, [])
  return (
    <div>
      <h3>{count}</h3>
      <button onClick={() => setCount(count + 1)}>+1</button>
    </div>
  )
}
